﻿using System;
using System.ComponentModel.DataAnnotations;
using Util.Domains.Repositories;

namespace IterationLife.Educations.Queries {
    /// <summary>
    /// 用户能力查询实体
    /// </summary>
    public class UserAbilityQuery : QueryEntityBase {
        /// <summary>
        /// 用户能力编号
        /// </summary>
        [Display(Name="用户能力编号")]
        public Guid? UserAbilityId { get; set; }
        /// <summary>
        /// 用户资料编号
        /// </summary>
        [Display(Name="用户资料编号")]
        public Guid? UserProfileId { get; set; }
        /// <summary>
        /// 能力类型编号
        /// </summary>
        [Display(Name="能力类型编号")]
        public Guid? AbilityTypeId { get; set; }
        /// <summary>
        /// 年级
        /// </summary>
        [Display(Name="年级")]
        public int? Grade { get; set; }
        /// <summary>
        /// 能力值
        /// </summary>
        [Display(Name="能力值")]
        public int? AbilityValue { get; set; }
        /// <summary>
        /// 起始创建时间
        /// </summary>
        [Display( Name = "起始创建时间" )]
        public DateTime? BeginCreationTime { get; set; }
        /// <summary>
        /// 结束创建时间
        /// </summary>
        [Display( Name = "结束创建时间" )]
        public DateTime? EndCreationTime { get; set; }        
        /// <summary>
        /// 创建人
        /// </summary>
        [Display(Name="创建人")]
        public Guid? CreatorId { get; set; }
        /// <summary>
        /// 起始最后修改时间
        /// </summary>
        [Display( Name = "起始最后修改时间" )]
        public DateTime? BeginLastModificationTime { get; set; }
        /// <summary>
        /// 结束最后修改时间
        /// </summary>
        [Display( Name = "结束最后修改时间" )]
        public DateTime? EndLastModificationTime { get; set; }        
        /// <summary>
        /// 最后修改人
        /// </summary>
        [Display(Name="最后修改人")]
        public Guid? LastModifierId { get; set; }
        
        /// <summary>
        /// 添加描述
        /// </summary>
        protected override void AddDescriptions() {
            base.AddDescriptions();
            AddDescription( "用户能力编号", UserAbilityId );
            AddDescription( "用户资料编号", UserProfileId );
            AddDescription( "能力类型编号", AbilityTypeId );
            AddDescription( "年级", Grade );
            AddDescription( "能力值", AbilityValue );
            AddDescription( "起始创建时间", BeginCreationTime );
            AddDescription( "结束创建时间", EndCreationTime );
            AddDescription( "创建人", CreatorId );
            AddDescription( "起始最后修改时间", BeginLastModificationTime );
            AddDescription( "结束最后修改时间", EndLastModificationTime );
            AddDescription( "最后修改人", LastModifierId );
        } 
    }
}
